/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Main;

/**
 *
 * @author Andrea de Luz
 */

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MenuJuego extends JFrame implements ActionListener{

    private JLabel lbTitulo;
    private JButton btnNewGame, btnReanudar, btnReporte, btnJugarRed, btnMiPerfil, btnAdminUser,btnAyuda, btnCerrar, btnSalir;
    private JPanelConFondo panelFondo;
    private JPanel panelBotones;
    private Usuario user;
    private int rol;
    private Color colorLetra = new Color (183, 195, 208);

    public  MenuJuego(int rol, Usuario user ){
        super("Menu OpenFlight");
        
        this.rol = rol;
        this.user = user;

        Box horizontal = Box.createHorizontalBox();
        Box vertical2 = Box.createHorizontalBox();
          
        lbTitulo = new JLabel("Menu");
        
        lbTitulo.setForeground(new Color(173, 216, 230));
        lbTitulo.setFont(new Font("Trebuchet", Font.BOLD, 24));

        btnNewGame = new JButton ("Nuevo Juego");
        btnReanudar = new JButton("Reanudar Juego");
        btnJugarRed = new JButton("Jugar en Red");
        btnReporte = new JButton("Reportes");
        btnMiPerfil = new JButton("Editar Perfil");
        //btnAdminUser = new JButton("Administrar Jugadores");
        btnAyuda = new JButton("Ayuda");
        btnCerrar = new JButton("Cerrra Sesión");
        btnSalir = new JButton("Salir");

        btnNewGame.addActionListener(this);
        btnReanudar.addActionListener(this);
        btnJugarRed.addActionListener(this);
        btnReporte.addActionListener(this);
        btnMiPerfil.addActionListener(this);
        btnAyuda.addActionListener(this);
        btnCerrar.addActionListener(this);
        btnSalir.addActionListener(this);

        btnNewGame.setFocusPainted(false);
        btnNewGame.setContentAreaFilled(false);
        btnReanudar.setFocusPainted(false);
        btnReanudar.setContentAreaFilled(false);
        btnJugarRed.setFocusPainted(false);
        btnJugarRed.setContentAreaFilled(false);
        btnReporte.setFocusPainted(false);
        btnReporte.setContentAreaFilled(false);
        btnAyuda.setFocusPainted(false);
        btnAyuda.setContentAreaFilled(false);
        btnMiPerfil.setFocusPainted(false);
        btnMiPerfil.setContentAreaFilled(false);
        btnCerrar.setFocusPainted(false);
        btnCerrar.setContentAreaFilled(false);
        btnSalir.setFocusPainted(false);
        btnSalir.setContentAreaFilled(false);

        btnNewGame.setForeground(colorLetra);
        btnReanudar.setForeground(colorLetra);
        btnJugarRed.setForeground(colorLetra);
        btnReporte.setForeground(colorLetra);
        btnAyuda.setForeground(colorLetra);
        btnMiPerfil.setForeground(colorLetra);
        btnCerrar.setForeground(colorLetra);
        btnSalir.setForeground(colorLetra);

        panelBotones = new JPanel(new GridLayout(9, 1, 15, 15));
        panelBotones.setBackground(Color.black);
        panelBotones.add(btnNewGame);
        panelBotones.add(btnReanudar);
        panelBotones.add(btnJugarRed);
        panelBotones.add(btnReporte);
        panelBotones.add(btnMiPerfil);
        if (rol == 1) {
            btnAdminUser = new JButton("Administrar Jugadores");
            btnAdminUser.addActionListener(this);
            btnAdminUser.setFocusPainted(false);
            btnAdminUser.setContentAreaFilled(false);
            btnAdminUser.setForeground(colorLetra);
            panelBotones.add(btnAdminUser);
        }
        panelBotones.add(btnAyuda);
        panelBotones.add(btnCerrar);
        panelBotones.add(btnSalir);

        Image imagenFondo = new ImageIcon("Imagenes/fondoMenu.jpg").getImage();
        panelFondo = new JPanelConFondo(imagenFondo);
        panelFondo.setLayout(new BorderLayout());

        horizontal.add(Box.createHorizontalStrut(100));
        horizontal.add(panelBotones);
        vertical2.add(Box.createHorizontalStrut(25));
        vertical2.add(lbTitulo);

        panelFondo.add(horizontal, BorderLayout.WEST);
        panelFondo.add(vertical2, BorderLayout.NORTH);

        Container c = getContentPane();
        c.add(panelFondo);

        this.setUndecorated(true);
        this.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
        this.setBounds(260, 160, 450, 500);
        this.setVisible(true);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public void actionPerformed(ActionEvent e) {

        if (e.getSource() == btnSalir) {
            int n = JOptionPane.showConfirmDialog(null,
                    "Está Seguro que desea SALIR?", "Salir de OpenFligth",
                    JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if (n == JOptionPane.YES_OPTION) {
                System.exit(0);
            }
        } else if (e.getSource() == btnCerrar) {
            int n = JOptionPane.showConfirmDialog(this, "Está Seguro que desea cerrar sesion ?", "Cerrar Sesion", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if (n == JOptionPane.YES_OPTION) {
                Thread hilo = new Thread(new Runnable() {

                    public void run() {
                        IniciarSesion iniciarSesion = new IniciarSesion();
                    }
                });
                hilo.start();
                this.dispose();
            }
        }else if(e.getSource()== btnMiPerfil){
            Registrarse vr = new Registrarse(user, rol, true);
            vr.LlenarPerfil(user);
            
        }
    }
}
